草庐IT

c++ - WinAPI : Add style to combo box

全部标签

c++ - int 数组的最大大小?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Cprogramming,whydoesthislargearraydeclarationproduceasegmentationfault?我写了一个简单的程序。#includeusingnamespacestd;intmain(intargc,char*argv[]){intgenotype[150000000];}但是我得到了一个奇怪的错误:RUNFAILED(exitvalue1,totaltime:131ms)我怎样才能保存这个数量的int?(我有足够的内存来保存这个数量的int并且我的电脑是64位

c++ - 查找表是哈希表的一种形式吗?

我想看看我在这里的概念是否正确。.如果我试图避免为float据数组x中的每个元素计算计算量大的someExpensiveFun(x),假设有界值在0和1之间,可以先预先计算昂贵函数的输出并将其存储在表中。..for(intnn=0;nn然后在性能关键代码的主体中我可以使用...y=lookup[(int)floor(x*1000.f)];将lookup称为哈希表的一种形式并将x*1000称为相关的哈希函数在概念上是否正确(而不是滥用术语)? 最佳答案 我个人认为这是对术语的滥用。它缺乏人们自然希望从哈希表中获得的属性,特别是能够对具

c++ - 在 C 中使用 C++ 结构

我有一个C++结构,里面有方法:structS{inta;intb;voidfoo(void){...};}我有一个用C编写的用户程序。是否可以获取指向S结构的指针并访问成员a和b? 最佳答案 您可以从C程序访问用C++编写的struct的成员,前提是您确保删除了对结构语法的C++添加://headerstructS{inta,b;#ifdef__cplusplusvoidfoo();#endif};//c-file:#include"header.h"voidsomething(structS*s){printf("%d,%d",

c++ - 将代码编译为特定的 C/C++ 标准

我尝试用谷歌搜索这个,但我得到的只是关于如何编译基本程序的结果。是否可以通过指定代码应编译为C89、C99、C++98等,使用Clang++和G++将代码编译为特定的C++标准? 最佳答案 您可以使用-std标志。例如,要编译为C99,请使用-std=c99它的文档是here 关于c++-将代码编译为特定的C/C++标准,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/139210

c++ - 内存屏障是如何工作的?

在Windows下,有3个编译器内部函数来实现内存屏障:1._ReadBarrier;2._WriteBarrier;3._ReadWriteBarrier;然而,我发现了一个奇怪的问题:_ReadBarrier似乎是一个什么都不做的虚拟函数!以下是我用VC++2012生成的汇编代码。我的问题是:如何在汇编指令中实现内存屏障功能?intmain(){013EEE10pushebp013EEE11movebp,esp013EEE13subesp,0CCh013EEE19pushebx013EEE1Apushesi013EEE1Bpushedi013EEE1Cleaedi,[ebp-0CC

c++ - C/C++如何复制结构?

在C/C++中按值传递结构时,必须复制结构内容。编译器如何实现这一点?即,通常会为此拷贝发出哪些汇编指令?这些有多快,什么时候,例如与调用memcpy相比?现在考虑这段代码:structX{inti,j,k;};voidfoo(Xx);voidfoo(inti,intj,intk);调用foo(X)和foo(int,int,int)有什么区别,或者生成的汇编代码可能相同(考虑参数的传递)? 最佳答案 在C++中Howdocompilersachievethat?他们为该类/结构调用复制构造函数。如果您不提供一个或您提供一个,则隐式生

c++ - printf 如何知道格式参数的长度?

intprintf(constchar*format,...);这是printf的签名。我不明白的是,printf如何知道第一个参数的长度(constchar*格式)。它知道起点(因为它是一个指针,我明白了),但指针没有终点或其他东西。通常当你想打印一些东西时,你必须给出一个长度(例如,Linux的sys_write)那么printf是怎么知道的呢?编辑:我仔细查看了我在ASM中编写的代码,我认为它只是查找\0字符。对吗? 最佳答案 它是一个以null结尾的字符串(就像C中的所有字符串一样),所以第一个ASCIINUL('\0'或普

c++ - 使用编译器定义的宏连接

这应该很简单,但我正在努力弄明白。我有PROJECT_NAME作为编译器(g++)-D定义,我想将它与其他一些文本连接起来以形成命名空间名称。我目前的做法是:#defineVERSION_NAMESPACEPROJECT_NAME##Versioning对于我当前的项目,我希望VERSION_NAMESPACE为Syren_DLLVersioning。相反,我得到一个编译器错误:error:'PROJECT_NAMEVersioning'hasnotbeendeclared但是根据g++调用,PROJECT_NAME被正确定义:ccacheg++...-DPROJECT_NAME=Sy

c++ - 为什么小数点后的数字都是零?

我想执行一些计算,我希望结果正确到小数位,比如12。于是我写了一个样例:#definePI3.1415926535897932384626433832795028841971693993751doubled,k,h;k=999999/(2*PI);h=999999;d=PI*k*k*h;printf("%.12f\n",d);但它给出了输出:79577232813771760.000000000000我什至使用了setprecision(),但答案相同,而不是指数形式。cout打印7.95772328138e+16也用过longdouble,但是没有用。除了将整数部分和小数部分分别存储

c++ - Xcode 使用哪个 C/C++ 编译器?

我刚刚开始接触C/C++,但我仍在思考不同的概念(我之前主要编写Java)。我真的很想知道使用了哪个C/C++编译器以及包含了哪个标准库。另外,我想知道在哪里可以找到相应标准库的API文档(如JavaSEAPI文档)。 最佳答案 对于C++:Xcode4.6.2使用ClangC++编译器前端和LLVM作为后端,符合C++11标准,并使用libc++作为标准库。Here您可以找到有关libc++的苹果演示文稿。 关于c++-Xcode使用哪个C/C++编译器?,我们在StackOverfl